/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package pe.edu.upc.sad.controller;
import com.google.gson.Gson;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.TooManyListenersException;
import javax.faces.convert.DateTimeConverter;
import javax.servlet.http.HttpSession;
import pe.edu.upc.sad.dao.EmpresaAreaDao;
import pe.edu.upc.sad.dao.EmpresaAreaDaoImpl;
import pe.edu.upc.sad.dao.ReservaDao;
import pe.edu.upc.sad.dao.ReservaDaoImpl;
import pe.edu.upc.sad.dao.TipoAreaDao;
import pe.edu.upc.sad.dao.TipoAreaDaoImpl;
import pe.edu.upc.sad.model.EmpresaArea;
import pe.edu.upc.sad.model.MensajeResultado;
import pe.edu.upc.sad.model.Reserva;
import pe.edu.upc.sad.model.TipoArea;
import pe.edu.upc.sad.model.Usuario;
import pe.edu.upc.sad.util.Conexion;
import pe.edu.upc.sad.util.ToolSql;
/**
/**
 *
 * @author HP
 */
public class UpdateReserva extends HttpServlet {

      ReservaDao tarea = new ReservaDaoImpl();

     @Override
    public void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException,
            IOException {
         Gson gson = new Gson();


        try
        {
             String tipoupdate=(request.getParameter("tipoupdate") != null) ?  request.getParameter("tipoupdate").toString()  : "";
             MensajeResultado oResultado = null;
            if(tipoupdate.equals("fecha"))
            {
                String idreserva=(request.getParameter("idreserva") != null) ?  request.getParameter("idreserva").toString()  : "0";
                String fechad=(request.getParameter("fechadesde") != null) ?  request.getParameter("fechadesde").toString()  : "";
                String fechah=(request.getParameter("fechahasta") != null) ?  request.getParameter("fechahasta").toString()  : "";
                int id_reserva=(idreserva.toString().equals("")) ?   0 : Integer.parseInt(idreserva);
                String fechai =fechad;
                String Fechaini_save =      fechai.substring(6, 10) + '-' + fechai.substring(0, 2) + '-' + fechai.substring(3,5)+ ' ' + fechai.substring(11, 19);
                String fechaf = fechah;
                String Fechafni_save =      fechaf.substring(6, 10) + '-' + fechaf.substring(0, 2) + '-' + fechaf.substring(3,5) + ' ' + fechaf.substring(11, 19);


                Reserva reser= new Reserva();
                reser.setIdReserva(id_reserva);
                reser.setFechaDesde(Fechaini_save);
                reser.setFechaHasta(Fechafni_save);
                oResultado = tarea.UpdateFechas(reser);
            }
             if(tipoupdate.equals("reserva"))
             {
                    String dni=(request.getParameter("dni") != null) ?  request.getParameter("dni").toString()  : "";
                    String idempresaarea=(request.getParameter("idempresaarea") != null) ?  request.getParameter("idempresaarea").toString()  : "";
                    String horas=(request.getParameter("horas") != null) ?  request.getParameter("horas").toString()  : "";
                    String fechad=(request.getParameter("fechadesde") != null) ?  request.getParameter("fechadesde").toString()  : "";
                    String fechah=(request.getParameter("fechahasta") != null) ?  request.getParameter("fechahasta").toString()  : "";
                    String detalle=(request.getParameter("detalle") != null) ?  request.getParameter("detalle").toString()  : "";
                    String idreserva=(request.getParameter("idreserva") != null) ?  request.getParameter("idreserva").toString()  : "";
                    int id_idempresaarea=(idempresaarea.toString().equals("")) ?   0 : Integer.parseInt(idempresaarea);
                    int id_idreserva=(idreserva.toString().equals("")) ?   0 : Integer.parseInt(idreserva);
                    int id_horas=(dni.toString().equals("")) ?   0 : Integer.parseInt(horas);
                    String fechai =fechad;
                    String Fechaini_save =      fechai.substring(6, 10) + '-' + fechai.substring(3, 5) + '-' + fechai.substring(0, 2)+ ' ' + fechai.substring(11, 19);
                    String fechaf = fechah;
                    String Fechafni_save =      fechaf.substring(6, 10) + '-' + fechaf.substring(3, 5) + '-' + fechaf.substring(0,2) + ' ' + fechaf.substring(11, 19);

                    Usuario user = new Usuario();
                    user.setDni(dni);
                    EmpresaArea emparea= new EmpresaArea();
                    emparea.setIdEmpresaArea(id_idempresaarea);
                    Reserva reser= new Reserva();
                    reser.setFechaDesde(Fechaini_save);
                    reser.setFechaHasta(Fechafni_save);
                    reser.setUsuario(user);
                    reser.setEmpresaarea(emparea);
                    reser.setDetalle(detalle);
                    reser.setIdReserva(id_idreserva);
                    oResultado = tarea.UpdateReserva(reser,id_horas);
             }

            String json = "{'MensajeResultado':";
            json += gson.toJson(oResultado) + "}";
            response.setContentType("text/x-json;charset=UTF-8");
            response.setHeader("Cache-Control", "no-cache");
            PrintWriter out = response.getWriter();
            out.println(json);

            out.close();
            out.flush();

        }catch(Exception e)
        {
            //System.out.println("Error en la pagina" + e.getMessage());
            MensajeResultado  oResultado = new MensajeResultado();
            oResultado.setESTADO(0);
            oResultado.setDETALLE(e.getMessage().toString());
            oResultado.setMENSAJE("Se produjo un Error");
            oResultado.setID_RETURN("");
            oResultado.setTIPO_RETURN("");
            String json = "{'MensajeResultado':";
            json += gson.toJson(oResultado)  + "}";
            response.setContentType("text/x-json;charset=UTF-8");
            response.setHeader("Cache-Control", "no-cache");
            PrintWriter out = response.getWriter();
            out.println(json);

            out.close();
            out.flush();
        }
    }

    @Override
    public void doGet(HttpServletRequest request,
            HttpServletResponse response) throws ServletException,
            IOException {

    }
}
